<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="description" content="API docs for the BlendMode enum from the dart:ui library, for the Dart programming language.">
  <title>BlendMode enum - dart:ui library - Dart API</title>
  <!-- required because all the links are pseudo-absolute -->
  <base href="..">

  <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:500,400i,400,300|Source+Sans+Pro:400,300,700" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link rel="stylesheet" href="static-assets/github.css">
  <link rel="stylesheet" href="static-assets/styles.css">
  <link rel="icon" href="static-assets/favicon.png">
  
</head>

<body>

<div id="overlay-under-drawer"></div>

<header id="title">
  <button id="sidenav-left-toggle" type="button">&nbsp;</button>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="index.html">manage_calendar_events</a></li>
    <li><a href="dart-ui/dart-ui-library.html">dart:ui</a></li>
    <li class="self-crumb">BlendMode enum</li>
  </ol>
  <div class="self-name">BlendMode</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<main>

  <div id="dartdoc-sidebar-left" class="col-xs-6 col-sm-3 col-md-2 sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
      <form class="search-sidebar" role="search">
        <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
      </form>
    </header>
    
    <ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
      <li><a href="index.html">manage_calendar_events</a></li>
      <li><a href="dart-ui/dart-ui-library.html">dart:ui</a></li>
      <li class="self-crumb">BlendMode enum</li>
    </ol>
    
    <h5>dart:ui library</h5>
    <ol>
      <li class="section-title"><a href="dart-ui/dart-ui-library.html#classes">Classes</a></li>
      <li><a href="dart-ui/AccessibilityFeatures-class.html">AccessibilityFeatures</a></li>
      <li><a href="dart-ui/CallbackHandle-class.html">CallbackHandle</a></li>
      <li><a href="dart-ui/Canvas-class.html">Canvas</a></li>
      <li><a href="dart-ui/Codec-class.html">Codec</a></li>
      <li><a href="dart-ui/Color-class.html">Color</a></li>
      <li><a href="dart-ui/ColorFilter-class.html">ColorFilter</a></li>
      <li><a href="dart-ui/EngineLayer-class.html">EngineLayer</a></li>
      <li><a href="dart-ui/FontFeature-class.html">FontFeature</a></li>
      <li><a href="dart-ui/FontWeight-class.html">FontWeight</a></li>
      <li><a href="dart-ui/FrameInfo-class.html">FrameInfo</a></li>
      <li><a href="dart-ui/FrameTiming-class.html">FrameTiming</a></li>
      <li><a href="dart-ui/Gradient-class.html">Gradient</a></li>
      <li><a href="dart-ui/Image-class.html">Image</a></li>
      <li><a href="dart-ui/ImageFilter-class.html">ImageFilter</a></li>
      <li><a href="dart-ui/ImageShader-class.html">ImageShader</a></li>
      <li><a href="dart-ui/IsolateNameServer-class.html">IsolateNameServer</a></li>
      <li><a href="dart-ui/Locale-class.html">Locale</a></li>
      <li><a href="dart-ui/MaskFilter-class.html">MaskFilter</a></li>
      <li><a href="dart-ui/Offset-class.html">Offset</a></li>
      <li><a href="dart-ui/OffsetBase-class.html">OffsetBase</a></li>
      <li><a href="dart-ui/Paint-class.html">Paint</a></li>
      <li><a href="dart-ui/Paragraph-class.html">Paragraph</a></li>
      <li><a href="dart-ui/ParagraphBuilder-class.html">ParagraphBuilder</a></li>
      <li><a href="dart-ui/ParagraphConstraints-class.html">ParagraphConstraints</a></li>
      <li><a href="dart-ui/ParagraphStyle-class.html">ParagraphStyle</a></li>
      <li><a href="dart-ui/Path-class.html">Path</a></li>
      <li><a href="dart-ui/PathMetric-class.html">PathMetric</a></li>
      <li><a href="dart-ui/PathMetricIterator-class.html">PathMetricIterator</a></li>
      <li><a href="dart-ui/PathMetrics-class.html">PathMetrics</a></li>
      <li><a href="dart-ui/Picture-class.html">Picture</a></li>
      <li><a href="dart-ui/PictureRecorder-class.html">PictureRecorder</a></li>
      <li><a href="dart-ui/PluginUtilities-class.html">PluginUtilities</a></li>
      <li><a href="dart-ui/PointerData-class.html">PointerData</a></li>
      <li><a href="dart-ui/PointerDataPacket-class.html">PointerDataPacket</a></li>
      <li><a href="dart-ui/Radius-class.html">Radius</a></li>
      <li><a href="dart-ui/Rect-class.html">Rect</a></li>
      <li><a href="dart-ui/RRect-class.html">RRect</a></li>
      <li><a href="dart-ui/RSTransform-class.html">RSTransform</a></li>
      <li><a href="dart-ui/Scene-class.html">Scene</a></li>
      <li><a href="dart-ui/SceneBuilder-class.html">SceneBuilder</a></li>
      <li><a href="dart-ui/SceneHost-class.html">SceneHost</a></li>
      <li><a href="dart-ui/SemanticsAction-class.html">SemanticsAction</a></li>
      <li><a href="dart-ui/SemanticsFlag-class.html">SemanticsFlag</a></li>
      <li><a href="dart-ui/SemanticsUpdate-class.html">SemanticsUpdate</a></li>
      <li><a href="dart-ui/SemanticsUpdateBuilder-class.html">SemanticsUpdateBuilder</a></li>
      <li><a href="dart-ui/Shader-class.html">Shader</a></li>
      <li><a href="dart-ui/Shadow-class.html">Shadow</a></li>
      <li><a href="dart-ui/Size-class.html">Size</a></li>
      <li><a href="dart-ui/StrutStyle-class.html">StrutStyle</a></li>
      <li><a href="dart-ui/Tangent-class.html">Tangent</a></li>
      <li><a href="dart-ui/TextBox-class.html">TextBox</a></li>
      <li><a href="dart-ui/TextDecoration-class.html">TextDecoration</a></li>
      <li><a href="dart-ui/TextPosition-class.html">TextPosition</a></li>
      <li><a href="dart-ui/TextStyle-class.html">TextStyle</a></li>
      <li><a href="dart-ui/Vertices-class.html">Vertices</a></li>
      <li><a href="dart-ui/Window-class.html">Window</a></li>
      <li><a href="dart-ui/WindowPadding-class.html">WindowPadding</a></li>
    
    
    
      <li class="section-title"><a href="dart-ui/dart-ui-library.html#properties">Properties</a></li>
      <li><a href="dart-ui/window.html">window</a></li>
    
      <li class="section-title"><a href="dart-ui/dart-ui-library.html#functions">Functions</a></li>
      <li><a href="dart-ui/decodeImageFromList.html">decodeImageFromList</a></li>
      <li><a href="dart-ui/decodeImageFromPixels.html">decodeImageFromPixels</a></li>
      <li><a href="dart-ui/hashList.html">hashList</a></li>
      <li><a href="dart-ui/hashValues.html">hashValues</a></li>
      <li><a href="dart-ui/instantiateImageCodec.html">instantiateImageCodec</a></li>
      <li><a href="dart-ui/lerpDouble.html">lerpDouble</a></li>
      <li><a href="dart-ui/loadFontFromList.html">loadFontFromList</a></li>
      <li><a href="dart-ui/saveCompilationTrace.html">saveCompilationTrace</a></li>
    
      <li class="section-title"><a href="dart-ui/dart-ui-library.html#enums">Enums</a></li>
      <li><a href="dart-ui/AppLifecycleState-class.html">AppLifecycleState</a></li>
      <li><a href="dart-ui/BlendMode-class.html">BlendMode</a></li>
      <li><a href="dart-ui/BlurStyle-class.html">BlurStyle</a></li>
      <li><a href="dart-ui/BoxHeightStyle-class.html">BoxHeightStyle</a></li>
      <li><a href="dart-ui/BoxWidthStyle-class.html">BoxWidthStyle</a></li>
      <li><a href="dart-ui/Brightness-class.html">Brightness</a></li>
      <li><a href="dart-ui/Clip-class.html">Clip</a></li>
      <li><a href="dart-ui/ClipOp-class.html">ClipOp</a></li>
      <li><a href="dart-ui/FilterQuality-class.html">FilterQuality</a></li>
      <li><a href="dart-ui/FontStyle-class.html">FontStyle</a></li>
      <li><a href="dart-ui/FramePhase-class.html">FramePhase</a></li>
      <li><a href="dart-ui/ImageByteFormat-class.html">ImageByteFormat</a></li>
      <li><a href="dart-ui/PaintingStyle-class.html">PaintingStyle</a></li>
      <li><a href="dart-ui/PathFillType-class.html">PathFillType</a></li>
      <li><a href="dart-ui/PathOperation-class.html">PathOperation</a></li>
      <li><a href="dart-ui/PixelFormat-class.html">PixelFormat</a></li>
      <li><a href="dart-ui/PlaceholderAlignment-class.html">PlaceholderAlignment</a></li>
      <li><a href="dart-ui/PointerChange-class.html">PointerChange</a></li>
      <li><a href="dart-ui/PointerDeviceKind-class.html">PointerDeviceKind</a></li>
      <li><a href="dart-ui/PointerSignalKind-class.html">PointerSignalKind</a></li>
      <li><a href="dart-ui/PointMode-class.html">PointMode</a></li>
      <li><a href="dart-ui/StrokeCap-class.html">StrokeCap</a></li>
      <li><a href="dart-ui/StrokeJoin-class.html">StrokeJoin</a></li>
      <li><a href="dart-ui/TextAffinity-class.html">TextAffinity</a></li>
      <li><a href="dart-ui/TextAlign-class.html">TextAlign</a></li>
      <li><a href="dart-ui/TextBaseline-class.html">TextBaseline</a></li>
      <li><a href="dart-ui/TextDecorationStyle-class.html">TextDecorationStyle</a></li>
      <li><a href="dart-ui/TextDirection-class.html">TextDirection</a></li>
      <li><a href="dart-ui/TileMode-class.html">TileMode</a></li>
      <li><a href="dart-ui/VertexMode-class.html">VertexMode</a></li>
    
      <li class="section-title"><a href="dart-ui/dart-ui-library.html#typedefs">Typedefs</a></li>
      <li><a href="dart-ui/FrameCallback.html">FrameCallback</a></li>
      <li><a href="dart-ui/ImageDecoderCallback.html">ImageDecoderCallback</a></li>
      <li><a href="dart-ui/PlatformMessageCallback.html">PlatformMessageCallback</a></li>
      <li><a href="dart-ui/PlatformMessageResponseCallback.html">PlatformMessageResponseCallback</a></li>
      <li><a href="dart-ui/PointerDataPacketCallback.html">PointerDataPacketCallback</a></li>
      <li><a href="dart-ui/SemanticsActionCallback.html">SemanticsActionCallback</a></li>
      <li><a href="dart-ui/TimingsCallback.html">TimingsCallback</a></li>
      <li><a href="dart-ui/VoidCallback.html">VoidCallback</a></li>
    
    </ol>
  </div>

  <div id="dartdoc-main-content" class="col-xs-12 col-sm-9 col-md-8 main-content">
      <div><h1><span class="kind-enum">BlendMode</span> enum </h1></div>

    <section class="desc markdown">
      <p>Algorithms to use when painting on the canvas.</p>
<p>When drawing a shape or image onto a canvas, different algorithms can be
used to blend the pixels. The different values of <a href="dart-ui/BlendMode-class.html">BlendMode</a> specify
different such algorithms.</p>
<p>Each algorithm has two inputs, the <em>source</em>, which is the image being drawn,
and the <em>destination</em>, which is the image into which the source image is
being composited. The destination is often thought of as the <em>background</em>.
The source and destination both have four color channels, the red, green,
blue, and alpha channels. These are typically represented as numbers in the
range 0.0 to 1.0. The output of the algorithm also has these same four
channels, with values computed from the source and destination.</p>
<p>The documentation of each value below describes how the algorithm works. In
each case, an image shows the output of blending a source image with a
destination image. In the images below, the destination is represented by an
image with horizontal lines and an opaque landscape photograph, and the
source is represented by an image with vertical lines (the same lines but
rotated) and a bird clip-art image. The <a href="dart-ui/BlendMode-class.html">src</a> mode shows only the source
image, and the <a href="dart-ui/BlendMode-class.html">dst</a> mode shows only the destination image. In the
documentation below, the transparency is illustrated by a checkerboard
pattern. The <a href="dart-ui/BlendMode-class.html">clear</a> mode drops both the source and destination, resulting
in an output that is entirely transparent (illustrated by a solid
checkerboard pattern).</p>
<p>The horizontal and vertical bars in these images show the red, green, and
blue channels with varying opacity levels, then all three color channels
together with those same varying opacity levels, then all three color
channels set to zero with those varying opacity levels, then two bars showing
a red/green/blue repeating gradient, the first with full opacity and the
second with partial opacity, and finally a bar with the three color channels
set to zero but the opacity varying in a repeating gradient.</p>
<h2 id="application-to-the-canvas-api">Application to the <a href="dart-ui/Canvas-class.html">Canvas</a> API</h2>
<p>When using <a href="dart-ui/Canvas/saveLayer.html">Canvas.saveLayer</a> and <a href="dart-ui/Canvas/restore.html">Canvas.restore</a>, the blend mode of the
<a href="dart-ui/Paint-class.html">Paint</a> given to the <a href="dart-ui/Canvas/saveLayer.html">Canvas.saveLayer</a> will be applied when
<a href="dart-ui/Canvas/restore.html">Canvas.restore</a> is called. Each call to <a href="dart-ui/Canvas/saveLayer.html">Canvas.saveLayer</a> introduces a new
layer onto which shapes and images are painted; when <a href="dart-ui/Canvas/restore.html">Canvas.restore</a> is
called, that layer is then composited onto the parent layer, with the source
being the most-recently-drawn shapes and images, and the destination being
the parent layer. (For the first <a href="dart-ui/Canvas/saveLayer.html">Canvas.saveLayer</a> call, the parent layer
is the canvas itself.)</p>
<p>See also:</p><ul><li><a href="dart-ui/Paint/blendMode.html">Paint.blendMode</a>, which uses <a href="dart-ui/BlendMode-class.html">BlendMode</a> to define the compositing
strategy.</li></ul>
    </section>
    

    <section class="summary offset-anchor" id="constants">
      <h2>Constants</h2>

      <dl class="properties">
        <dt id="clear" class="constant">
          <span class="name ">clear</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Drop both the source and destination images, leaving nothing.</p>
<p>This corresponds to the "clear" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_clear.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(0)</code></span>
          </div>
        </dd>
        <dt id="color" class="constant">
          <span class="name ">color</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Take the hue and saturation of the source image, and the luminosity of the
destination image.</p>
<p>The effect is to tint the destination image with the source image.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>. Regions that are entirely transparent in the source image take
their hue and saturation from the destination.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_color.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">hue</a>, which is a similar but weaker effect.</li><li><a href="dart-ui/BlendMode-class.html">softLight</a>, which is a similar tinting effect but also tints white.</li><li><a href="dart-ui/BlendMode-class.html">saturation</a>, which only applies the saturation of the source image.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(27)</code></span>
          </div>
        </dd>
        <dt id="colorBurn" class="constant">
          <span class="name ">colorBurn</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Divide the inverse of the destination by the the source, and inverse the result.</p>
<p>Inverting the components means that a fully saturated channel (opaque
white) is treated as the value 0.0, and values normally treated as 0.0
(black, transparent) are treated as 1.0.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_colorBurn.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(19)</code></span>
          </div>
        </dd>
        <dt id="colorDodge" class="constant">
          <span class="name ">colorDodge</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Divide the destination by the inverse of the source.</p>
<p>Inverting the components means that a fully saturated channel (opaque
white) is treated as the value 0.0, and values normally treated as 0.0
(black, transparent) are treated as 1.0.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_colorDodge.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(18)</code></span>
          </div>
        </dd>
        <dt id="darken" class="constant">
          <span class="name ">darken</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Composite the source and destination image by choosing the lowest value
from each color channel.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_darken.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(16)</code></span>
          </div>
        </dd>
        <dt id="difference" class="constant">
          <span class="name ">difference</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Subtract the smaller value from the bigger value for each channel.</p>
<p>Compositing black has no effect; compositing white inverts the colors of
the other image.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>.</p>
<p>The effect is similar to <a href="dart-ui/BlendMode-class.html">exclusion</a> but harsher.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_difference.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(22)</code></span>
          </div>
        </dd>
        <dt id="dst" class="constant">
          <span class="name ">dst</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Drop the source image, only paint the destination image.</p>
<p>Conceptually, the source image is discarded, leaving the destination
untouched.</p>
<p>This corresponds to the "Destination" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_dst.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(2)</code></span>
          </div>
        </dd>
        <dt id="dstATop" class="constant">
          <span class="name ">dstATop</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Composite the destination image over the source image, but only where it
overlaps the source.</p>
<p>This corresponds to the "Destination atop Source" Porter-Duff operator.</p>
<p>This is essentially the <a href="dart-ui/BlendMode-class.html">dstOver</a> operator, but with the output's opacity
channel being set to that of the source image instead of being a
combination of both image's opacity channels.</p>
<p>For a variant with the source on top instead of the destination, see
<a href="dart-ui/BlendMode-class.html">srcATop</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_dstATop.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(10)</code></span>
          </div>
        </dd>
        <dt id="dstIn" class="constant">
          <span class="name ">dstIn</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Show the destination image, but only where the two images overlap. The
source image is not rendered, it is treated merely as a mask. The color
channels of the source are ignored, only the opacity has an effect.</p>
<p>To show the source image instead, consider <a href="dart-ui/BlendMode-class.html">srcIn</a>.</p>
<p>To reverse the semantic of the mask (only showing the source where the
destination is present, rather than where it is absent), consider <a href="dart-ui/BlendMode-class.html">dstOut</a>.</p>
<p>This corresponds to the "Destination in Source" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_dstIn.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(6)</code></span>
          </div>
        </dd>
        <dt id="dstOut" class="constant">
          <span class="name ">dstOut</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Show the destination image, but only where the two images do not overlap. The
source image is not rendered, it is treated merely as a mask. The color
channels of the source are ignored, only the opacity has an effect.</p>
<p>To show the source image instead, consider <a href="dart-ui/BlendMode-class.html">srcOut</a>.</p>
<p>To reverse the semantic of the mask (only showing the destination where the
source is present, rather than where it is absent), consider <a href="dart-ui/BlendMode-class.html">dstIn</a>.</p>
<p>This corresponds to the "Destination out Source" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_dstOut.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(8)</code></span>
          </div>
        </dd>
        <dt id="dstOver" class="constant">
          <span class="name ">dstOver</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Composite the source image under the destination image.</p>
<p>This is the opposite of <a href="dart-ui/BlendMode-class.html">srcOver</a>.</p>
<p>This corresponds to the "Destination over Source" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_dstOver.png" alt=""></p>
<p>This is useful when the source image should have been painted before the
destination image, but could not be.</p>
                  
  <div>
            <span class="signature"><code>const BlendMode(4)</code></span>
          </div>
        </dd>
        <dt id="exclusion" class="constant">
          <span class="name ">exclusion</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Subtract double the product of the two images from the sum of the two
images.</p>
<p>Compositing black has no effect; compositing white inverts the colors of
the other image.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>.</p>
<p>The effect is similar to <a href="dart-ui/BlendMode-class.html">difference</a> but softer.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_exclusion.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(23)</code></span>
          </div>
        </dd>
        <dt id="hardLight" class="constant">
          <span class="name ">hardLight</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Multiply the components of the source and destination images after
adjusting them to favor the source.</p>
<p>Specifically, if the source value is smaller, this multiplies it with the
destination value, whereas is the destination value is smaller, it
multiplies the inverse of the destination value with the inverse of the
source value, then inverts the result.</p>
<p>Inverting the components means that a fully saturated channel (opaque
white) is treated as the value 0.0, and values normally treated as 0.0
(black, transparent) are treated as 1.0.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_hardLight.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">modulate</a>, which always multiplies the values.</li><li><a href="dart-ui/BlendMode-class.html">screen</a>, which always multiplies the inverses of the values.</li><li><a href="dart-ui/BlendMode-class.html">overlay</a>, which is similar to <a href="dart-ui/BlendMode-class.html">hardLight</a> but favors the destination
image instead of the source image.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(20)</code></span>
          </div>
        </dd>
        <dt id="hue" class="constant">
          <span class="name ">hue</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Take the hue of the source image, and the saturation and luminosity of the
destination image.</p>
<p>The effect is to tint the destination image with the source image.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>. Regions that are entirely transparent in the source image take
their hue from the destination.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_hue.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">color</a>, which is a similar but stronger effect as it also applies the
saturation of the source image.</li><li><code>HSVColor</code>, which allows colors to be expressed using Hue rather than
the red/green/blue channels of <a href="dart-ui/Color-class.html">Color</a>.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(25)</code></span>
          </div>
        </dd>
        <dt id="lighten" class="constant">
          <span class="name ">lighten</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Composite the source and destination image by choosing the highest value
from each color channel.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_lighten.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(17)</code></span>
          </div>
        </dd>
        <dt id="luminosity" class="constant">
          <span class="name ">luminosity</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Take the luminosity of the source image, and the hue and saturation of the
destination image.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>. Regions that are entirely transparent in the source image take
their luminosity from the destination.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_luminosity.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">saturation</a>, which applies the saturation of the source image to the
destination.</li><li><a href="dart-ui/ImageFilter/ImageFilter.blur.html">ImageFilter.blur</a>, which can be used with <code>BackdropFilter</code> for a
related effect.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(28)</code></span>
          </div>
        </dd>
        <dt id="modulate" class="constant">
          <span class="name ">modulate</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Multiply the color components of the source and destination images.</p>
<p>This can only result in the same or darker colors (multiplying by white,
1.0, results in no change; multiplying by black, 0.0, results in black).</p>
<p>When compositing two opaque images, this has similar effect to overlapping
two transparencies on a projector.</p>
<p>For a variant that also multiplies the alpha channel, consider <a href="dart-ui/BlendMode-class.html">multiply</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_modulate.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">screen</a>, which does a similar computation but inverted.</li><li><a href="dart-ui/BlendMode-class.html">overlay</a>, which combines <a href="dart-ui/BlendMode-class.html">modulate</a> and <a href="dart-ui/BlendMode-class.html">screen</a> to favor the
destination image.</li><li><a href="dart-ui/BlendMode-class.html">hardLight</a>, which combines <a href="dart-ui/BlendMode-class.html">modulate</a> and <a href="dart-ui/BlendMode-class.html">screen</a> to favor the
source image.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(13)</code></span>
          </div>
        </dd>
        <dt id="multiply" class="constant">
          <span class="name ">multiply</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Multiply the components of the source and destination images, including
the alpha channel.</p>
<p>This can only result in the same or darker colors (multiplying by white,
1.0, results in no change; multiplying by black, 0.0, results in black).</p>
<p>Since the alpha channel is also multiplied, a fully-transparent pixel
(opacity 0.0) in one image results in a fully transparent pixel in the
output. This is similar to <a href="dart-ui/BlendMode-class.html">dstIn</a>, but with the colors combined.</p>
<p>For a variant that multiplies the colors but does not multiply the alpha
channel, consider <a href="dart-ui/BlendMode-class.html">modulate</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_multiply.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(24)</code></span>
          </div>
        </dd>
        <dt id="overlay" class="constant">
          <span class="name ">overlay</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Multiply the components of the source and destination images after
adjusting them to favor the destination.</p>
<p>Specifically, if the destination value is smaller, this multiplies it with
the source value, whereas is the source value is smaller, it multiplies
the inverse of the source value with the inverse of the destination value,
then inverts the result.</p>
<p>Inverting the components means that a fully saturated channel (opaque
white) is treated as the value 0.0, and values normally treated as 0.0
(black, transparent) are treated as 1.0.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_overlay.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">modulate</a>, which always multiplies the values.</li><li><a href="dart-ui/BlendMode-class.html">screen</a>, which always multiplies the inverses of the values.</li><li><a href="dart-ui/BlendMode-class.html">hardLight</a>, which is similar to <a href="dart-ui/BlendMode-class.html">overlay</a> but favors the source image
instead of the destination image.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(15)</code></span>
          </div>
        </dd>
        <dt id="plus" class="constant">
          <span class="name ">plus</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Sum the components of the source and destination images.</p>
<p>Transparency in a pixel of one of the images reduces the contribution of
that image to the corresponding output pixel, as if the color of that
pixel in that image was darker.</p>
<p>This corresponds to the "Source plus Destination" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_plus.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(12)</code></span>
          </div>
        </dd>
        <dt id="saturation" class="constant">
          <span class="name ">saturation</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Take the saturation of the source image, and the hue and luminosity of the
destination image.</p>
<p>The opacity of the output image is computed in the same way as for
<a href="dart-ui/BlendMode-class.html">srcOver</a>. Regions that are entirely transparent in the source image take
their saturation from the destination.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_hue.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">color</a>, which also applies the hue of the source image.</li><li><a href="dart-ui/BlendMode-class.html">luminosity</a>, which applies the luminosity of the source image to the
destination.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(26)</code></span>
          </div>
        </dd>
        <dt id="screen" class="constant">
          <span class="name ">screen</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Multiply the inverse of the components of the source and destination
images, and inverse the result.</p>
<p>Inverting the components means that a fully saturated channel (opaque
white) is treated as the value 0.0, and values normally treated as 0.0
(black, transparent) are treated as 1.0.</p>
<p>This is essentially the same as <a href="dart-ui/BlendMode-class.html">modulate</a> blend mode, but with the values
of the colors inverted before the multiplication and the result being
inverted back before rendering.</p>
<p>This can only result in the same or lighter colors (multiplying by black,
1.0, results in no change; multiplying by white, 0.0, results in white).
Similarly, in the alpha channel, it can only result in more opaque colors.</p>
<p>This has similar effect to two projectors displaying their images on the
same screen simultaneously.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_screen.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">modulate</a>, which does a similar computation but without inverting the
values.</li><li><a href="dart-ui/BlendMode-class.html">overlay</a>, which combines <a href="dart-ui/BlendMode-class.html">modulate</a> and <a href="dart-ui/BlendMode-class.html">screen</a> to favor the
destination image.</li><li><a href="dart-ui/BlendMode-class.html">hardLight</a>, which combines <a href="dart-ui/BlendMode-class.html">modulate</a> and <a href="dart-ui/BlendMode-class.html">screen</a> to favor the
source image.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(14)</code></span>
          </div>
        </dd>
        <dt id="softLight" class="constant">
          <span class="name ">softLight</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Use <a href="dart-ui/BlendMode-class.html">colorDodge</a> for source values below 0.5 and <a href="dart-ui/BlendMode-class.html">colorBurn</a> for source
values above 0.5.</p>
<p>This results in a similar but softer effect than <a href="dart-ui/BlendMode-class.html">overlay</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_softLight.png" alt=""></p>
<p>See also:</p><ul><li><a href="dart-ui/BlendMode-class.html">color</a>, which is a more subtle tinting effect.</li></ul>
                  
  <div>
            <span class="signature"><code>const BlendMode(21)</code></span>
          </div>
        </dd>
        <dt id="src" class="constant">
          <span class="name ">src</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Drop the destination image, only paint the source image.</p>
<p>Conceptually, the destination is first cleared, then the source image is
painted.</p>
<p>This corresponds to the "Copy" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_src.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(1)</code></span>
          </div>
        </dd>
        <dt id="srcATop" class="constant">
          <span class="name ">srcATop</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Composite the source image over the destination image, but only where it
overlaps the destination.</p>
<p>This corresponds to the "Source atop Destination" Porter-Duff operator.</p>
<p>This is essentially the <a href="dart-ui/BlendMode-class.html">srcOver</a> operator, but with the output's opacity
channel being set to that of the destination image instead of being a
combination of both image's opacity channels.</p>
<p>For a variant with the destination on top instead of the source, see
<a href="dart-ui/BlendMode-class.html">dstATop</a>.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_srcATop.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(9)</code></span>
          </div>
        </dd>
        <dt id="srcIn" class="constant">
          <span class="name ">srcIn</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Show the source image, but only where the two images overlap. The
destination image is not rendered, it is treated merely as a mask. The
color channels of the destination are ignored, only the opacity has an
effect.</p>
<p>To show the destination image instead, consider <a href="dart-ui/BlendMode-class.html">dstIn</a>.</p>
<p>To reverse the semantic of the mask (only showing the source where the
destination is absent, rather than where it is present), consider
<a href="dart-ui/BlendMode-class.html">srcOut</a>.</p>
<p>This corresponds to the "Source in Destination" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_srcIn.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(5)</code></span>
          </div>
        </dd>
        <dt id="srcOut" class="constant">
          <span class="name ">srcOut</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Show the source image, but only where the two images do not overlap. The
destination image is not rendered, it is treated merely as a mask. The color
channels of the destination are ignored, only the opacity has an effect.</p>
<p>To show the destination image instead, consider <a href="dart-ui/BlendMode-class.html">dstOut</a>.</p>
<p>To reverse the semantic of the mask (only showing the source where the
destination is present, rather than where it is absent), consider <a href="dart-ui/BlendMode-class.html">srcIn</a>.</p>
<p>This corresponds to the "Source out Destination" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_srcOut.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(7)</code></span>
          </div>
        </dd>
        <dt id="srcOver" class="constant">
          <span class="name ">srcOver</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Composite the source image over the destination image.</p>
<p>This is the default value. It represents the most intuitive case, where
shapes are painted on top of what is below, with transparent areas showing
the destination layer.</p>
<p>This corresponds to the "Source over Destination" Porter-Duff operator,
also known as the Painter's Algorithm.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_srcOver.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(3)</code></span>
          </div>
        </dd>
        <dt id="values" class="constant">
          <span class="name ">values</span>
          <span class="signature">&#8594; const <a href="dart-core/List-class.html">List</a><span class="signature">&lt;<wbr><span class="type-parameter"><a href="dart-ui/BlendMode-class.html">BlendMode</a></span>&gt;</span></span>
                  </dt>
        <dd>
          <p>A constant List of the values in this enum, in order of their declaration.</p>
                  
  <div>
            <span class="signature"><code>const List&lt;<wbr><span class="type-parameter">BlendMode</span>&gt;</code></span>
          </div>
        </dd>
        <dt id="xor" class="constant">
          <span class="name ">xor</span>
          <span class="signature">&#8594; const <a href="dart-ui/BlendMode-class.html">BlendMode</a></span>
                  </dt>
        <dd>
          <p>Apply a bitwise <code>xor</code> operator to the source and destination images. This
leaves transparency where they would overlap.</p>
<p>This corresponds to the "Source xor Destination" Porter-Duff operator.</p>
<p><img src="https://flutter.github.io/assets-for-api-docs/assets/dart-ui/blend_mode_xor.png" alt=""></p>
                  
  <div>
            <span class="signature"><code>const BlendMode(11)</code></span>
          </div>
        </dd>
      </dl>
    </section>


    <section class="summary offset-anchor" id="instance-properties">
      <h2>Properties</h2>

      <dl class="properties">
        <dt id="index" class="property">
          <span class="name">index</span>
          <span class="signature">&#8594; <a href="dart-core/int-class.html">int</a></span>         
        </dt>
        <dd>
          <p>The integer index of this enum.</p>
                  <div class="features">final</div>
</dd>
        <dt id="hashCode" class="property inherited">
          <span class="name"><a href="dart-core/Object/hashCode.html">hashCode</a></span>
          <span class="signature">&#8594; <a href="dart-core/int-class.html">int</a></span>         
        </dt>
        <dd class="inherited">
          The hash code for this object. <a href="dart-core/Object/hashCode.html">[...]</a>
                  <div class="features">read-only, inherited</div>
</dd>
        <dt id="runtimeType" class="property inherited">
          <span class="name"><a href="dart-core/Object/runtimeType.html">runtimeType</a></span>
          <span class="signature">&#8594; <a href="dart-core/Type-class.html">Type</a></span>         
        </dt>
        <dd class="inherited">
          A representation of the runtime type of the object.
                  <div class="features">read-only, inherited</div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor" id="instance-methods">
      <h2>Methods</h2>
      <dl class="callables">
        <dt id="toString" class="callable">
          <span class="name"><a href="dart-ui/BlendMode/toString.html">toString</a></span><span class="signature">(<wbr>)
            <span class="returntype parameter">&#8594; <a href="dart-core/String-class.html">String</a></span>
          </span>
                  </dt>
        <dd>
          Returns a string representation of this object.
                  <div class="features">override</div>
</dd>
        <dt id="noSuchMethod" class="callable inherited">
          <span class="name"><a href="dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
            <span class="returntype parameter">&#8594; dynamic</span>
          </span>
                  </dt>
        <dd class="inherited">
          Invoked when a non-existent method or property is accessed. <a href="dart-core/Object/noSuchMethod.html">[...]</a>
                  <div class="features">inherited</div>
</dd>
      </dl>
    </section>

    <section class="summary offset-anchor inherited" id="operators">
      <h2>Operators</h2>
      <dl class="callables">
        <dt id="operator ==" class="callable inherited">
          <span class="name"><a href="dart-core/Object/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation">dynamic</span> <span class="parameter-name">other</span></span>)
            <span class="returntype parameter">&#8594; <a href="dart-core/bool-class.html">bool</a></span>
          </span>
                  </dt>
        <dd class="inherited">
          The equality operator. <a href="dart-core/Object/operator_equals.html">[...]</a>
                  <div class="features">inherited</div>
</dd>
      </dl>
    </section>


  </div> <!-- /.main-content -->

  <div id="dartdoc-sidebar-right" class="col-xs-6 col-sm-6 col-md-2 sidebar sidebar-offcanvas-right">
    <ol>
      <li class="section-title"><a href="dart-ui/BlendMode-class.html#constants">Constants</a></li>
      <li>clear</li>
      <li>color</li>
      <li>colorBurn</li>
      <li>colorDodge</li>
      <li>darken</li>
      <li>difference</li>
      <li>dst</li>
      <li>dstATop</li>
      <li>dstIn</li>
      <li>dstOut</li>
      <li>dstOver</li>
      <li>exclusion</li>
      <li>hardLight</li>
      <li>hue</li>
      <li>lighten</li>
      <li>luminosity</li>
      <li>modulate</li>
      <li>multiply</li>
      <li>overlay</li>
      <li>plus</li>
      <li>saturation</li>
      <li>screen</li>
      <li>softLight</li>
      <li>src</li>
      <li>srcATop</li>
      <li>srcIn</li>
      <li>srcOut</li>
      <li>srcOver</li>
      <li>values</li>
      <li>xor</li>
    
    
      <li class="section-title">
        <a href="dart-ui/BlendMode-class.html#instance-properties">Properties</a>
      </li>
      <li>index</li>
      <li class="inherited"><a href="dart-core/Object/hashCode.html">hashCode</a></li>
      <li class="inherited"><a href="dart-core/Object/runtimeType.html">runtimeType</a></li>
    
      <li class="section-title"><a href="dart-ui/BlendMode-class.html#instance-methods">Methods</a></li>
      <li><a href="dart-ui/BlendMode/toString.html">toString</a></li>
      <li class="inherited"><a href="dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
    
      <li class="section-title inherited"><a href="dart-ui/BlendMode-class.html#operators">Operators</a></li>
      <li class="inherited"><a href="dart-core/Object/operator_equals.html">operator ==</a></li>
    
    
    </ol>
  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    manage_calendar_events 1.0.1
  </span>

  
</footer>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="static-assets/typeahead.bundle.min.js"></script>
<script src="static-assets/highlight.pack.js"></script>
<script src="static-assets/URI.js"></script>
<script src="static-assets/script.js"></script>


</body>

</html>
